package net.zigin.nhi.could.waste.service;

import net.zigin.nhi.could.waste.dto.DeviceBaseDto;
import net.zigin.nhi.could.waste.dto.HospitalDepartDto;
import net.zigin.nhi.could.waste.model.HospitalDepart;
import net.zigin.nhi.could.waste.service.BaseService;
import net.zigin.nhi.could.waste.vo.HospitalDepartVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/*#################################################################*
# 说明:以下代码通过哲勤代码生成工具自动生成    
# 工具:GeneratorCode
# 作者:mgw1986                                                  
# 生成时间:2021-9-8 0:01:01                                               
##################################################################*/


/**
 *  HospitalDepart服务接口类
 * @ClassName: HospitalDepartService
 * @author mgw1986
 * @date 2021-9-8 0:01:01
 * @version V1.0
 */
public interface HospitalDepartService extends BaseService<HospitalDepart, String> {

    /**
     * 新增编辑科室
     * @param hospitalDepartDto 科室信息
     * @return 科室ID
     */
    String saveOrUpdate(HospitalDepartDto hospitalDepartDto);

    /**
     * 科室列表
     * @param hospitalDepartDto 科室信息
     * @return 科室列表
     */
    List<HospitalDepartVo> getList(HospitalDepartDto hospitalDepartDto);

    /**
     * 科室列表数目
     * @param hospitalDepartDto 科室信息
     * @return 科室列表数目
     */
    Integer getCount(HospitalDepartDto hospitalDepartDto);

    /**
     * 生成二维码
     * @param id 科室ID
     * @param response
     */
    void generateQrCode(String id, HttpServletResponse response);

    /**
     * 获取科室详情
     * @param id 科室ID
     * @return 科室详情
     */
    HospitalDepartVo getInfoById(String id);

    void exportList(HospitalDepartDto hospitalDepartDto , HttpServletResponse response);

    void importList(MultipartFile file);

    void downloadTemplate(HttpServletResponse response);

    void downloadTemplate2(HttpServletResponse response);

    void generateQrCode(List<String> ids, HttpServletResponse response);

    void fillPinYinName();

    Boolean judgeRemove(String id);
	
}
